/*
 * Description: frequency increasing handler
 */
#ifndef FREQUENCY_INCREASING_ACCELERATOR_H
#define FREQUENCY_INCREASING_ACCELERATOR_H
#include "base/perf_accelerator.h"
#include "rpc_service/sendto_host.h"

namespace PERF {
class FrequencyIncreasingAccelerator : public PERF::PerfAccelerator {
public:
    explicit FrequencyIncreasingAccelerator(std::shared_ptr<WINCONTROL::SendToHost> sendtoHost)
    {
        Init(sendtoHost);
    }
    ~FrequencyIncreasingAccelerator() override = default;

    void Init(std::shared_ptr<WINCONTROL::SendToHost> sendtoHost);
    bool OnBegin(std::shared_ptr<PerfInfo> perfInfo) override;
    bool OnEnd(std::shared_ptr<PerfInfo> perfInfo) override;

private:
    std::shared_ptr<WINCONTROL::SendToHost> m_sendtoHost{ nullptr };
};
}  // namespace PERF
#endif